import { ref, onMounted, onUnmounted } from 'vue';

export function useTime() {
    const currentTime = ref<string>(''); // 创建一个响应式的时间变量

    // 更新时间的函数
    const updateTime = () => {
        const now = new Date();
        currentTime.value = formatTime(now); // 格式化时间
    };

    // 组件挂载时更新时间并设置定时器
    onMounted(() => {
        updateTime(); // 立即更新时间
        const intervalId = setInterval(updateTime, 1000); // 每秒更新时间
        // 组件卸载时清除定时器
        onUnmounted(() => {
            clearInterval(intervalId);
        });
    });

    return currentTime; // 返回响应式的时间变量
}

// 时间格式化函数
function formatTime(date: Date): string {
    const hours = date.getHours().toString().padStart(2, '0');
    const minutes = date.getMinutes().toString().padStart(2, '0');
    const seconds = date.getSeconds().toString().padStart(2, '0');
    return `${hours}:${minutes}:${seconds}`; // 返回 HH:MM:SS 格式
}